home *** CD-ROM | disk | FTP | other *** search
- The Chameleon Vers. 1.19
- ---------------------------
- Karsten Isakovic
- Wilmersdorferstr 82
- D-1000 Berlin 12
-
- Published by Markt&Technik-Verlag,
- all rights reserved by the author
-
- Everybody knows the following problems:
- ---------------------------------------
- - There are many, many useful DA, but one can't install them
- all some at the same time. To install a new DA, you have to
- reboot the system. This is the reason, why the MultiDAs came
- up. They allowed to install more DAs than six. And there are
- some MonsterDAs that give you everything you ever could need
- under just one menu entry. These solutions often need lots
- of memory, which is a rare on normal STs.
- - If you programm DAs it is very bad that you have to reboot
- for every test. This costs time and nerves.
-
- Now there is a new solution to this problem:
- --------------------------------------------
- The CHAMELEON is an extrem short DA - about 5 KB -, that
- allows to load in every DA you need and - that's the clue
- of the Chameleon - can unload DA if you don't need it
- any more. Not only the main memory is freed, the Chameleon
- frees all resources the DA demanded from the system.
-
- Use
- ---
- Copy the CHMELEON.ACC onto the boot disc and reboot. If you
- choose 'The Chameleon' from the DA-menu a file selector
- appears and you can select the DA, which is then loaded and
- started.
-
- If you don't want to open the DA, hold down the left shift-
- key, while selecting the name in the file selector by double-
- clicking or while pressing the return key.
-
- After the DA is started, the Chameleon menu entry is replaced
- by the menu entry of the DA. An arrow on the left side of the
- enty shows that this DA was loaded with 'The Chameleon'.
-
- If the DA normaly uses 2 menu entrys the menu text is split
- in the middle. The right entry is selcted if you hold down
- one of the shift keys while selecting the menu entry. If the
- DA normaly uses 3 menu entrys you can select the middle entry
- with the left shift key and the right entry with the right
- shift key.
-
- Now you can use the DA, as if it was loaded after a reboot.
-
- If you want to remove the DA, just hold down the shift and
- alternate keys and select the menu entry. If the DA had
- opened some windows, these are closed. All memory the DA
- demanded is freed up and the normal 'The Chameleon' menu
- entry appears in the DA menu.
-
- If you want to remove the DA and immediatly load another DA,
- hold down the right mouse button in addition to the shift and
- alternate key while selecting the menu entry.After the DA is
- unloaded, the file selector comes up.
-
- Installation for GEMINI users:
- ------------------------------
- Test with 'env' in the MUPFEL, whether the SUFFIX contains
- 'acc'. If not insert it with 'setenv SUFFIX "$SUFFIX;acc" '.
- The best way to do this is in the file MUPFEL.MUP.
- Now you can select the CHMELEON.ACC an install it as default-
- application for '*.AC?'.
- The next step is to rename all other DAs to ACX, because with
- the SUFFIX '*.ACC', GEMINI only test whether the DA is already
- laoded. If you double click onto a file with the SUFFIX '*.ACX',
- 'The Chameleon' gets a message from GEMINI. The Chameleon loads
- the selected DA and opens it. If there was already an DA loaded,
- this DA is removed first.
-
- If you put a 'The Chameleon' icon onto the desktop of GEMINI,
- you can drag DA onto the icon to load them in. If you drag
- a text file onto the icon, this GEMINI message is passed to
- to loaded DA.
- If the DA has also an icon on the desktop, you can load the
- DA by dragging the DA icon onto the Chameleon icon.
- If the DA receives GEMINI messages, it does not matter whether
- you drag text files onto the icon of the DA or onto the
- Chameleon icon.
-
- Default accessory:
- ------------------
- Another speciality hides in the patch variables of Chameleon.
- You can specify a default-DA that is loaded in at boot time.
- So you can set up your normal configuration without loosing
- the flexibility 'The Chameleon' offers to you.
- The default is the ATARI control panel with the file name
- CONTROL.ACX on the boot device. All preferences are set up
- by the control panel. If you need another DA, just unload the
- control panel and load the other DA.
-
- Patch variables:
- ----------------
- First: Make a copy of CHMELEON.ACC, bevor starting to
- experiment! You can only change the patch variables with a
- disc monitor.
-
- It is very likely that there are collisions with the shift codes
- that Chameleon uses, so you can change the combination.
-
- Right bevor the string 'V1.19 ╜K.Isakovic Berlin 09.10.90' you
- find a '^', which is the delimiter between the patch variables.
- It marks the longest possible space that you have to enter
- path names, you should not overwrite it.
- The first 2 bytes ($0A $02) in front of the ^ are the
- shift combinations. The first bytes ($0A) is the combination
- to remove an DA, the second ($02) is the combiantion that
- tells Chameleon not to open up the DA, when you load it in.
- If you set this value to $00, the DA is not opened up
- automaticly, only if you press a shift key.
-
- These values are the hexadecimal value of the sum out of the
- following table:
-
- Value | Key
- ------+--------
- 1 | Right shift
- 2 | Left shift
- 4 | Control
- 8 | Alternate
-
- The bytes $0A stand for the value 10, which stands for left
- shift - alternate.
-
- In front of this two shift combinations you find the name of
- the default DA. If the first byte after the '^' is $00 (default),
- no DA is loaded in. Enter the absolute pathname of the DA
- (i.e. A:\CONTROL.ACX, the drive specification is neccessary!).
- If the drive 'A:\' is automaticly replaced with the boot drive.
- If there is another dive letter than 'A', no modification takes
- place. Don't forget to end the name with a NULL ($00) !
-
- In front of this you find yet another field seperated with
- a '^'. In this field you can fill in the path, that is used
- if you first select a DA in the file selctor. This feature
- is very good, if all the DAs reside in a sub directory. The
- drive letter is modified (or not) in the same manner as for the
- dafault DA.
-
- The last patch variable is a byte value that tells the file
- handle that Chameleon uses for output redirection. The value
- $00 means no redirection at all. On the ST there is no NULL-
- device that takes all input and does nothing, so Chameleon
- redirects STDOUT to a file handle that is not opened. If the
- DA writes to STDOUT, it only get's error-messages (and it
- normaly ignores them). The GEMDOS supports 75 open files, the
- default redirect handle is handle 74 ($4A). Chameleon also tests
- whether this handle is in use and only redirects the STDOUT
- output if not.
-
- Some details:
- -------------
- 'The Chameleon' is TOS indespended, it uses no illegal system-
- variables. It hooks into the GEM- and GEMDOS-vector with the
- XBRA-ID 'Cham'. The trap handler supports all from 68000 up
- to 68030.
-
- If you choose the menu enty, a file selector appears and you
- can select an DA. This DA is now loaded and started. In the
- vectors, Chameleon protocolls every demand of system resources:
- Windows, VDI-workstations, resource files, memory blocks and
- also the loding of GDOS-fonts, hiding of the mouse...
- With this information 'The Chameleon' can restore the original
- state.
-
- If the user want's to unload the DA, all system vectors are
- tested, whether they point into one of the memory blocks of
- the DA. Chameleon follows XBRA chain.
- If the DA hooked into the system, Chameleon can't remove it.
- You get an alert with a warning. If the DA uses the XBRA
- convention to hook into the traps, 'The Chameleon' can unhook
- it from the vectors.
-
- If a GEMINI-message arrives with the string '$KILL', the DA is
- unloaded.
-
- If you change the resolution, a loaded DA is unload and the
- chameleon trap handlers unhook from the system. This is only
- possible if the XBRA-convention is used. If chameleon can't
- unhook, the system bombs. This is because all DAs are removed
- but the now no-longer-existing trap handler is called.
-
- Some DAs write a text message to the screen. If you load in
- such a DA from the desktop, this would overwrite the menubar.
- This is the reaseon why 'The Chameleon' redirects these
- output to an unopened file.
-
- Known problems:
- ---------------
- - You can limit the memory segmentation, if you free the DA on
- the desktop. If now select a text file and show it up, the
- desktop reorganises it's memory.
- - If you load in reset resident ram disks, these ram disks modify
- the MEMTOP-variable which is not restored by Chameleon. If you
- load the DA again, the ram disk data has not changed.
- - If the DA doesn't use a menu entry, 'The Chameleon' writes
- the file name with two arrows into the menu entry.
-
- A little hint:
- --------------
- If you install two Chameleons, you only need 11 KB memory, but
- you always can load the DAs that you need.
-
- History
- -------
- The Chameleon had a very long testing phase. It could load DAs
- since the version 0.00. Up to the version 0.37, many improvements
- were made. The publishing date came nearer and nearer, so i named
- the next version 1.00. Some testers very already happy with the
- version 0.11, after 0.28 no tester had any problems. The next
- versions (0.28--0.37, 1.00-1.19) only small changes were made.
- Since the version 1.07 the chameleon can load a default DA,
- 1.12 was the first version that could free DAs that use no
- menu entry. Since 1.13 the STDOUT redirection is implemented.
-
- Near future:
- ------------
- I am already testing a 2.00 version, that offers code-sharing.
- Only the first Chameleon needs 6 KB. You also have 'little'
- Chameleons with 450 bytes, that use the code of the 'big' one.
- Redirection is done with another trick and there are other
- improvements. I will release the version 2.00 at XMAS 1990.
-
- ******************************************************************
- * *
- * Only if the files *
- * *
- * CHMELEON.ACC and CHMELEON.TXT *
- * *
- * are not modified, private users are allowed to copy and use *
- * 'The Chameleon' for free. *
- * *
- * All rights (copyright,distribution...) for 'The Chameleon' *
- * remain at the author (K.Isakovic). *
- * A commercial use in any form (also includes the distribution *
- * on public-domain discs or simular) is NOT ALLOWED. *
- * *
- * You get the latest version from the author or in the german *
- * MAUS mailbox net. *
- * *
- ******************************************************************
-
- I know that my english is not good, but I hope that you understood,
- what I meant. A 'bad' manual is better than 'no' manual.
-
- Yours Sincerly
-
- Karsten Isakovic, 11.12.1990 very late at night
-